package sueldos;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Empresa {

	private int id;
	private String nombre;
	private String cuit;
	private String localidad;
	private String provincia;
	private String base;
	private String establecimiento;
	private String departamento;
	private String polizaSeguro;
	
	public String getEstablecimiento() {
		return establecimiento;
	}



	public String getDepartamento() {
		return departamento;
	}



	public void setEstablecimiento(String establecimiento) {
		this.establecimiento = establecimiento;
	}



	public void setDepartamento(String departamento) {
		this.departamento = departamento;
	}



	public String getBase() {
		return base;
	}



	public void setBase(String base) {
		this.base = base;
	}



	public Empresa(int id) {
		super();
		this.id = id;
	}
	
	
	
	public Empresa() {
	}


	
	public Empresa(int id, String nombre, String cuit, String localidad,
			String provincia, String base, String establecimiento,
			String departamento, String poliza) {
		super();
		this.id = id;
		this.nombre = nombre;
		this.cuit = cuit;
		this.localidad = localidad;
		this.provincia = provincia;
		this.base = base;
		this.establecimiento = establecimiento;
		this.departamento = departamento;
		this.polizaSeguro = poliza;
	}





	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getCuit() {
		return cuit;
	}
	
	public String getCuitSG(){
		return cuit.substring(0, 2)+cuit.substring(3, 11)+cuit.substring(12);
	}
	
	public void setCuit(String cuit) {
		this.cuit = cuit;
	}
	public String getLocalidad() {
		return localidad;
	}
	public void setLocalidad(String localidad) {
		this.localidad = localidad;
	}
	public void setProvincia(String provincia) {
		this.provincia = provincia;
	}
	public String getProvincia() {
		return provincia;
	}
	
	
	public String getPolizaSeguro() {
		return polizaSeguro;
	}



	public void setPolizaSeguro(String polizaSeguro) {
		this.polizaSeguro = polizaSeguro;
	}



	public int idEmpresa(String base){
		int resultado = -1;

		try {
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbeccarvarela", "", ""); 
			String query="SELECT id FROM `registroempresa` WHERE base = ? LIMIT 1";
			PreparedStatement ps = conexion.prepareStatement(query);
			ps.setString(1, base);
			ps.execute();
			ResultSet rs = ps.getResultSet();
			rs.next();
			resultado =  rs.getInt(1);

		} catch (Exception e) {
			e.printStackTrace();
		}
		return resultado;
	}
	
	
	
	public Empresa getDataDB(int id){
		try {
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbeccarvarela", "", ""); 
			String query="select id, nombre, cuit, localidad, provincia, base, establecimiento, departamento, polizaSeguro from registroempresa where id = ?";
			PreparedStatement ps = conexion.prepareStatement(query);
			ps.setInt(1, id);
			ps.execute();
			ResultSet rs = ps.getResultSet();
			while (rs.next()){
				this.setId(id);
				this.setNombre(rs.getString(2));
				this.setCuit(rs.getString(3));
				this.setLocalidad(rs.getString(4));
				this.setProvincia(rs.getString(5));
				this.setBase(rs.getString(6));
				this.setEstablecimiento(rs.getString(7));
				this.setDepartamento(rs.getString(8));
				this.setPolizaSeguro(rs.getString(9));
				return this;
			}
			ps.close();
			conexion.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
			return null;
		
	}
	
	public void toDatabase(){
		try {
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbeccarvarela", "", ""); 
			String query="INSERT INTO registroempresa (id, nombre, cuit, localidad, provincia, base, establecimiento, departamento, poliza)" +
					"values (?,?,?,?,?,?,?,?)";
			PreparedStatement ps = conexion.prepareStatement(query);
			ps.setInt(1, this.getId());
			ps.setString(2, this.getNombre());
			ps.setString(3, this.getCuit());
			ps.setString(4, this.getLocalidad());
			ps.setString(5, this.getProvincia());
			ps.setString(6, this.getBase());
			ps.setString(7, this.getEstablecimiento());
			ps.setString(8, this.getDepartamento());
			ps.setString(9, this.getPolizaSeguro());
			ps.execute();
			ps.close();
			conexion.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	
	
}
